package cn.shop.transcation.order.entity;

import cn.shop.transcation.common.entity.BaseEntity;
import cn.shop.utils.enums.GoodsType;
import cn.shop.utils.enums.OrderStatus;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author : 李一涵
 * @date : Created in 2021-11-8 13:13
 * @description : 订单表
 */
@EqualsAndHashCode(callSuper = true)
@TableName("`order`")
@Data
@ToString
public class Order extends BaseEntity {


	/**
	 * 模板编号
	 */
	private Long templateId;

	/**
	 * 分区编号
	 */
	private Long partitionId;

	/**
	 * 卖家编号
	 */
	private Long sellerId;

	/**
	 * 卖家账号
	 */
	private String sellerAccount;

	/**
	 * 卖家名
	 */
	private String sellerName;

	/**
	 * 商品名
	 */
	private String goods;

	/**
	 * 商品数量
	 */
	private Long goodsNum;

	/**
	 * 价格
	 */
	private BigDecimal amount;

	/**
	 * 买家编号
	 */
	private Long buyerId;

	/**
	 * 卖家账号
	 */
	private String buyerAccount;

	/**
	 * 买家名
	 */
	private String buyerName;

	/**
	 * 买家ip
	 */
	private String buyerIp;

	/**
	 * 审核时间
	 */
	private LocalDateTime auditTime;

	/**
	 * 审核人
	 */
	private Long auditId;

	/**
	 * 成交时间
	 */
	private LocalDateTime dealTime;

	/**
	 * 订单状态
	 */
	private OrderStatus status;

	/**
	 * 订单类型
	 */
	private GoodsType goodsType;


	/**
	 * 模板手续费
	 */
	private BigDecimal templateCharge;

	/**
	 * 上架时间
	 */
	private LocalDateTime upTime;
	/**
	 * 下架时间
	 */
	private LocalDateTime downTime;

	/**
	 * 商户名
	 */
	@TableField(exist = false)
	private String merchantName;

	/**
	 * 商户电话
	 */
	@TableField(exist = false)
	private String merchantPhone;

	/**
	 * 分区名
	 */
	@TableField(exist = false)
	private String partitionName;

	private Boolean received;

	@TableField(exist = false)
	private Boolean risk;

	@TableField(exist = false)
	private String gameName;
	@TableField(exist = false)
	private String alias;
	@TableField(exist = false)
	private String webAccount;

}
